home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Video Cube: Space
/
Video Cube - Space (1994)(Aris).iso
/
setup.mst
< prev
next >
Wrap
Text File
|
1993-10-18
|
12KB
|
433 lines
'**************************************************************************
' Aris Entertainment Video Cube Setup
'**************************************************************************
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'mscpydis.inc' ''System
'$INCLUDE 'msdetect.inc' ''Detects Avalilable Disk Space
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST APPHELP = 900
CONST RESTART = 1000
CONST CUSTINST = 6200
CONST TOOBIG = 6300
CONST BADPATH = 6400
'' window sizing
CONST WS_VISIBLE = &H10000000
CONST WS_CAPTION = &H00C00000
CONST WS_CLIPCHILDREN = &H02000000
CONST WS_SYSMENU = &H00080000
CONST WS_MINIMIZEBOX = &H00020000
CONST WS_MAXIMIZEBOX = &H00010000
CONST WS_THICKFRAME = &H00040000
CONST GWL_STYLE = -16
CONST SW_SHOWMAXIMIZED = 3
'' File set to copy
CONST FILEN1 = 1
CONST FILEN2 = 2
CONST FILEN3 = 3
CONST FILEN4 = 4
CONST FILEN5 = 5
''Bitmap ID
CONST LOGO = 1
'' Aris Bitmap
'' CONST ARIS = 2
'' File set symbol names
GLOBAL NEEDS1$
GLOBAL NEEDS2$
GLOBAL NEEDS3$
GLOBAL NEEDS4$
GLOBAL NEEDS5$
GLOBAL EXTRACOSTS$
GLOBAL BIGLIST$
GLOBAL DRIVETEXT$
GLOBAL V3DEST$
GLOBAL WINDRIVE$
GLOBAL GROUP$
GLOBAL ITEM$
GLOBAL EXE$
GLOBAL SRCDIR$
GLOBAL WINDIR$
GLOBAL WINSYSDIR$
GLOBAL SETUPDIR$
DECLARE SUB AddOptFilesToCopyList (ftype%)
DECLARE SUB RecalcOptFiles (ftype%)
DECLARE SUB RecalcPath
DECLARE SUB SetDriveStatus
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
REM DECLARE FUNCTION GetCDDrive LIB "CDTSTV3.DLL" AS INTEGER
REM DECLARE FUNCTION ReadDiscStart LIB "CDTSTV3.DLL" (Drive%) AS LONG
REM DECLARE FUNCTION ReadDiscEnd LIB "CDTSTV3.DLL" (Drive%) AS LONG
REM DECLARE FUNCTION TestMPCThrough LIB "CDTSTV3.DLL" (Drive%, First&, Last&) AS LONG
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
'' Initialize window
hWnd% = HwndFrame()
k& = SetWindowLong(hWnd%, GWL_STYLE, WS_CAPTION+WS_VISIBLE+WS_CLIPCHILDREN+WS_SYSMENU+WS_MINIMIZEBOX+WS_MAXIMIZEBOX+WS_THICKFRAME)
j% = ShowWindow(hWnd%, SW_SHOWMAXIMIZED)
'' Check Windows Version Number
MajorVer% = GetWindowsMajorVersion()
MinorVer% = GetWindowsMinorVersion()
IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software. Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
END IF
SetBitmap CUIDLL$, LOGO
SetTitle "Aris Entertainment Video Cube"
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
END IF
ReadInfFile szInf$
SRCDIR$ = GetSymbolValue("STF_SRCDIR")
WINDIR$ = GetWindowsDir()
WINSYSDIR$ = GetWindowsSysDir()
WINDRIVE$ = MID$(WINDIR$, 1, 1)
V3DEST$ = WINDRIVE$ + ":\V3"
EXE$ = "V3.EXE"
GROUP$ = "Aris"
ITEM$ = "Video Cube"
SETUPDIR$ = WINDRIVE$ + ":\~msstfqf.t"
'' list symbols
DRIVETEXT$ = "DriveStatusText"
FOR i% = 1 TO 3 STEP 1
AddListItem DRIVETEXT$, ""
NEXT i%
ReplaceListItem DRIVETEXT$, 3, V3DEST$
''Disk cost list symbols
NEEDS1$ = "FileNeeds1"
NEEDS2$ = "FileNeeds2"
NEEDS3$ = "FileNeeds3"
NEEDS4$ = "FileNeeds4"
NEEDS5$ = "FileNeeds5"
EXTRACOSTS$ = "ExtraCosts"
BIGLIST$ = "BigList"
FOR i% = 1 TO 5 STEP 1
AddListItem BIGLIST$, ""
NEXT i%
FOR i% = 1 TO 26 STEP 1
AddListItem EXTRACOSTS$, "0"
NEXT i%
SetRestartDir SETUPDIR$
RecalcPath
SetDriveStatus
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
REM CHECKCDROM:
REM CDDrive% = GetCDDrive()
REM IF CDDrive% = -1 THEN
REM i% = DoMsgBox("CD-ROM drive not found", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
REM END
REM ELSE
REM First& = ReadDiscStart(CDDrive%)
REM IF First& = 0 THEN
REM i% = DoMsgBox("First "+STR$(First&/1024), "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
REM END IF
REM Last& = ReadDiscEnd(CDDrive%)
REM if Last& = 0 THEN
REM i% = DoMsgBox("Last "+STR$(Last&/1024), "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
REM END IF
REM Passed& = TestMPCThrough( CDDrive%, First&, Last&)
REM IF (Passed&>0) THEN
REM i% = DoMsgBox("CD-ROM drive Not-MPC Compliant, You may experience performance problems " + STR$(Passed&/rformance problems " + STR$(Passed&/1024), "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
REM END IF
REM END IF
CUSTINST:
sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
''Install only if it will fit.
FOR i% = 1 TO 5 STEP 1
IF GetListItem(BIGLIST$, i%) <> "" THEN
GOSUB TOOBIG
GOTO CUSTINST
END IF
NEXT i%
UIPop 1
GOTO INSTALL
ELSEIF sz$ = "PATH" THEN
GOTO GETPATH
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO CUSTINST
ELSE
GOSUB ASKQUIT
GOTO CUSTINST
END IF
INSTALL:
ClearCopyList
AddOptFilesToCopyList FILEN1
AddOptFilesToCopyList FILEN2
AddOptFilesToCopyList FILEN3
AddOptFilesToCopyList FILEN4
AddOptFilesToCopyList FILEN5
CreateDir V3DEST$, cmoNone
CopyFilesInCopyList
CreateIniKeyValue "WIN.INI", "fonts", "Future", "FUTURE.FOT", cmoOverwrite
CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
CreateIniKeyValue WINDIR$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
CreateIniKeyValue WINDIR$ + "system.ini", "Drivers", "VIDC.RT21", "indeo.drv", cmoOverwrite
CreateIniKeyValue WINDIR$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
CreateIniKeyValue WINDIR$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
'' Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
CreateProgmanGroup GROUP$, "", cmoNone
CreateProgmanItem GROUP$, ITEM$, MakePath(V3DEST$, EXE$), "", cmoOverwrite
Run ("profdisp")
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = EXITSUCCESS
ELSEIF ERR = STFQUIT THEN
dlg% = EXITQUIT
ELSE
dlg% = EXITFAILURE
END IF
QUITL1:
'' Aris Bitmap
'' SetBitmap CUIDLL$, ARIS
n% = RestartListEmpty()
IF n% = 1 THEN
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
ELSEIF sz$ = "BACK" THEN
Run MakePath(V3DEST$, EXE$), NOWAIT
END IF
ELSE
dlg% = RESTART
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
n% = ExitExecRestart()
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("Setup sources were corrupted, call (310) 821-0234!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
'' ERROR STFQUIT
END
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
TOOBIG:
sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO TOOBIG
END IF
UIPop 1
RETURN
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
GETPATH:
SetSymbolValue "EditTextIn", V3DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
olddest$ = V3DEST$
V3DEST$ = GetSymbolValue("EditTextOut")
''Validate new path.
IF IsDirWritable(V3DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
''Truncate display if too long.
IF LEN(V3DEST$) > 23 THEN
ReplaceListItem DRIVETEXT$, 3, MID$(V3DEST$, 1, 23)+"..."
ELSE
ReplaceListItem DRIVETEXT$, 3, V3DEST$
END IF
''Recalc if path changed.
IF (olddest$ <> V3DEST$) AND (olddest$ <> V3DEST$+"\") AND (olddest$+"\" <> V3DEST$) THEN
RecalcPath
SetDriveStatus
END IF
olddest$ = ""
GOTO CUSTINST
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO GETPATHL1
ELSEIF sz$ = "EXIT" THEN
GOSUB ASKQUIT
GOTO GETPATHL1
ELSE
UIPop 1
GOTO CUSTINST
END IF
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION
SUB AddOptFilesToCopyList (ftype%) STATIC
IF ftype% = FILEN1 THEN
AddSectionFilesToCopyList "AVICodecs", SRCDIR$, WinSysDir$
ELSEIF ftype% = FILEN2 THEN
AddSectionFilesToCopyList "MPlayer", SRCDIR$, WinDir$
ELSEIF ftype% = FILEN3 THEN
AddSectionFilesToCopyList "VfW Runtime", SRCDIR$, WinSysDir$
ELSEIF ftype% = FILEN4 THEN
AddSectionFilesToCopyList "V3EXE", SRCDIR$, V3DEST$
ELSEIF ftype% = FILEN5 THEN
AddSectionFilesToCopyList "FontFiles", SRCDIR$, WinSysDir$
END IF
END SUB
SUB RecalcOptFiles (ftype%) STATIC
CursorSave% = ShowWaitCursor()
ClearCopyList
AddOptFilesToCopyList ftype%
fExtra% = 0
IF ftype% = FILEN1 THEN
ListSym$ = NEEDS1$
ELSEIF ftype% = FILEN2 THEN
ListSym$ = NEEDS2$
ELSEIF ftype% = FILEN3 THEN
ListSym$ = NEEDS3$
ELSEIF ftype% = FILEN4 THEN
ListSym$ = NEEDS4$
ELSEIF ftype% = FILEN5 THEN
ListSym$ = NEEDS5$
END IF
StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
cost& = 0
FOR i% = 1 TO 26 STEP 1
cost& = cost& + VAL(GetListItem(ListSym$, i%))
NEXT i%
IF StillNeed& > 0 THEN
ReplaceListItem BIGLIST$, ftype%, "YES"
ELSE
ReplaceListItem BIGLIST$, ftype%, ""
END IF
IF fExtra% THEN
ReplaceListItem EXTRACOSTS$, ndrive%, "0"
END IF
RestoreCursor CursorSave%
ListSym$ = ""
END SUB
SUB RecalcPath STATIC
CursorSave% = ShowWaitCursor()
RecalcOptFiles FILEN1
RecalcOptFiles FILEN2
RecalcOptFiles FILEN3
RecalcOptFiles FILEN4
RecalcOptFiles FILEN5
RestoreCursor CursorSave%
END SUB
SUB SetDriveStatus STATIC
drive$ = MID$(WINDIR$, 1, 1)
ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
drive2$ = MID$(V3DEST$, 1, 1)
ndrive2% = ASC(ucase$(drive2$)) - ASC("A") + 1
cost& = VAL(GetListItem(NEEDS1$,ndrive%))+VAL(GetListItem(NEEDS2$,ndrive%))+VAL(GetListItem(NEEDS3$,ndrive%))+VAL(GetListItem(NEEDS4$, ndrive2%))+VAL(GetListItem(NEEDS5$, ndrive%))
free& = GetFreeSpaceForDrive(drive$)
ReplaceListItem DRIVETEXT$, 1, STR$(cost& / 1024) + " K"
ReplaceListItem DRIVETEXT$, 2, STR$(free& / 1024) + " K"
END SUB
REM End Of File